Use "int = 0" SFINAE in std::function to improve compiler throughput#244
Conversation
StephanTLavavej
left a comment
There was a problem hiding this comment.
Looks good. No merge conflicts with #226 although they work towards the same goal.
|
We mess up clang-format sometimes too :P |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
Looks like this is ICEing the chk build of the compiler for now.... |
|
You're telling me checking this box will fix all my build issues? Sign me up |
StephanTLavavej
left a comment
There was a problem hiding this comment.
The FE team needs to fix the ICE you encountered, and then that needs to ship in a Preview, before we can merge this.
|
Cross-reference: this is related to #187. |
|
Should that also contain the fixes from @CaseyCarter concerning |
|
That’s a good question. @BillyONeal, I suspect that #248 is the same bug, so @miscco ’s idea of grouping them together should save time. #249 appears to be a different bug. |
Xiang Fan of the C1XX frontend team reported that this improved throughput in a customer submitted benchmark.
15c172a to
8e07b9b
Compare

Description
Use on/off SFINAE in std::function when not blocked by compiler bugs.
Xiang Fan of the C1XX frontend team reported that this improved throughput in a customer submitted benchmark.
Checklist
community PRs will be delayed until the test and CI systems are online.
_Uglyas perhttps://eel.is/c++draft/lex.name#3.1 or there are no product code changes.
verified by an STL maintainer before CI is online, leave this unchecked for
initial submission).
members, adding virtual functions, changing whether a type is an aggregate
or trivially copyable, etc.).
the C++ Working Draft as a reference (and any other cited standards).
If they were derived from a project that's already listed in NOTICE.txt,
that's fine, but please mention it. If they were derived from any other
project (including Boost and libc++, which are not yet listed in
NOTICE.txt), you must mention it here, so we can determine whether the
license is compatible and what else needs to be done.